Stable Diffusionを動かしてみよう (CPUOnly編)
CPUだけで動かせるバージョンがあるらしい。AzureのVMで動かしてみる。
CPUだけで動作するバージョン
メモリ少な目で動作するバージョン
Azure VMを立ち上げる
Ubuntu 20.04
Standard B4ms (4 vcpu 数、16 GiB メモリ)
SSHポートを開放するのやだなーと思ってたら、Azure Portalから簡単に接続できるBasionというサービスができてたのでそれを利用する
ただし、時間で課金がされる&停止がないので、その都度削除が必要
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
chmod +x Anaconda3-2022.05-Linux-x86_64.sh
./Anaconda3-2022.05-Linux-x86_64.sh
回答には適当に答えてインストール開始
git clone https://github.com/ModeratePrawn/stable-diffusion-cpu
cd stable-diffusion-cpu
conda env create -f environment.yaml
conda activate ldm
データを Hugging Faceからダウンロードする
wget <データのurl>
mkdir -p stable-diffusion-cpu/models/ldm/stable-diffusion-v1
ln -s ~/sd-v1-4.ckpt stable-diffusion-cpu/models/ldm/stable-diffusion-v1/model.ckpt
sudo apt install libsm6 libxrender1 libxext-dev
python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms
実行できたけど、めっちゃ重そう...orz
いつ終わるのか分からないのでいったん終了。
256x256でやってみる
python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms --H 256 --W 256
11分くらいで画像が生成された。もうちょいCPUの良いやつ使うと早くなるのかもしれないけど、今日はここまで。
次は、Gradioを使ってWebからアクセスできるようにするか。うーん。そこがねぇ。